﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Crosland.Automotriz.Facade.Interface;
using Crosland.Automotriz.Core;
using Crosland.Automotriz.Logic.Linq;
namespace Crosland.Automotriz.Facade.Facade
{
    public class FacadeCanibalizacion : iFacadeCanibalizacion
    {
        public IEnumerable<Object> listarCanibalizacionCab(int intIdEstado)
        {

            clsT_Log_Canibalizacion_CabLogic canibalizacionCab = new clsT_Log_Canibalizacion_CabLogic();
            return canibalizacionCab.Listar(intIdEstado);        
        }
        public IEnumerable<Object> listarPorEstadoPendiente(int idEstado)
        {
            clsT_Log_Canibalizacion_CabLogic canibalizacionCab = new clsT_Log_Canibalizacion_CabLogic();
            return canibalizacionCab.listarPorEstadoPendiente(idEstado);      

        }
        public IEnumerable<Object> ListarPendientes(String strNroChasis)
        {
            clsT_Log_Canibalizacion_CabLogic canibalizacionCab = new clsT_Log_Canibalizacion_CabLogic();
            return canibalizacionCab.ListarPendientes(strNroChasis);        
        
        }

        public IEnumerable<Object> ListarStockAlmacenDet( String strNro_lote, int intTop)
        {
            clsTh_Stock_Almacen_DetLogic canibalizacionCab = new clsTh_Stock_Almacen_DetLogic();
            return canibalizacionCab.Listar( strNro_lote,  intTop);
        
        }



        public IEnumerable<Object> listarAnios()
        {

            clsTh_Stock_Almacen_DetLogic canibalizacionCab = new clsTh_Stock_Almacen_DetLogic();
            return canibalizacionCab.listarAnios();
        
        }


        public bool InsertarCanibalizacion(T_LOG_CANIBALIZACION_CAB Obj)
        {
            clsT_Log_Canibalizacion_CabLogic canibalizacionCab = new clsT_Log_Canibalizacion_CabLogic();
            return canibalizacionCab.Insertar(Obj);

        }

        public bool Modificar(T_LOG_CANIBALIZACION_CAB Obj)
        {
            clsT_Log_Canibalizacion_CabLogic canibalizacionCab = new clsT_Log_Canibalizacion_CabLogic();
            return canibalizacionCab.Modificar(Obj);
        }

        public IEnumerable<Object> ListarCanibalizacionMovimiento()
        {
            clsT_Log_Canibalizacion_Movimiento_CabLogic t_log_canibalizacion_movimiento = new clsT_Log_Canibalizacion_Movimiento_CabLogic();
            return t_log_canibalizacion_movimiento.Listar();        
        }


        public List<TD_MATERIAL_EN> ListaMaterialStock_mas_Transito(String strFiltro, int intTotalRegistros)
        {
            clsTD_MaterialLogic material = new clsTD_MaterialLogic();
            return material.ListaMaterialStock_mas_Transito(strFiltro, intTotalRegistros);
        
        }


        public bool InsertarT_LOG_CANIBALIZACION_MOVIMIENTO_CAB(T_LOG_CANIBALIZACION_MOVIMIENTO_CAB Obj)
        {
            clsT_Log_Canibalizacion_Movimiento_CabLogic canibalizacionMovimientoCab = new clsT_Log_Canibalizacion_Movimiento_CabLogic();
            return canibalizacionMovimientoCab.Insertar(Obj);
        
        }



        public bool ModificarT_LOG_CANIBALIZACION_MOVIMIENTO_CAB(T_LOG_CANIBALIZACION_MOVIMIENTO_CAB Obj)
        {
            clsT_Log_Canibalizacion_Movimiento_CabLogic canibalizacionMovimientoCab = new clsT_Log_Canibalizacion_Movimiento_CabLogic();
            return canibalizacionMovimientoCab.Modifica(Obj);

        }



        public bool InsertarT_LOG_CANIBALIZACION_MOV_DET(T_LOG_CANIBALIZACION_MOV_DET Obj)
        {
            clsT_Log_Canibilizacion_Mov_DetLogic canibalizacionMovDet = new clsT_Log_Canibilizacion_Mov_DetLogic();
            return canibalizacionMovDet.Insertar(Obj);

        }

        public bool ModificarT_LOG_CANIBALIZACION_MOV_DET(T_LOG_CANIBALIZACION_MOV_DET Obj)
        {
            clsT_Log_Canibilizacion_Mov_DetLogic canibalizacionMovDet = new clsT_Log_Canibilizacion_Mov_DetLogic();
            return canibalizacionMovDet.Modificar(Obj);

        }
        public int UltimoGenerado()
        {
            clsT_Log_Canibalizacion_Movimiento_CabLogic canibalizacionMovimientoCab = new clsT_Log_Canibalizacion_Movimiento_CabLogic();
            return canibalizacionMovimientoCab.UltimoGenerado();        
        }
        public IEnumerable<object> ListaTipoMovimiento()
        {

            clsT_Log_Canibalizacion_Movimiento_CabLogic canibalizacionMovimientoCab = new clsT_Log_Canibalizacion_Movimiento_CabLogic();
            return canibalizacionMovimientoCab.ListaTipoMovimiento();        
        }


        public bool ActualizaEstado_LOG_CANIBALIZACION_CAB(int intEstado, int intIdLogCanibalizacionCab)
        {
            clsT_Log_Canibalizacion_CabLogic canibalizacionCab = new clsT_Log_Canibalizacion_CabLogic();
            return canibalizacionCab.ActualizaEstado_LOG_CANIBALIZACION_CAB(intEstado, intIdLogCanibalizacionCab);
        }

        public bool ActualizaEstadoArmado(int id_estado, int intIdLogCanibalizacionCab)
        {

            clsT_Log_Canibalizacion_CabLogic canibalizacionCab = new clsT_Log_Canibalizacion_CabLogic();
            return canibalizacionCab.ActualizaEstadoArmado(id_estado, intIdLogCanibalizacionCab);
        
        }
        public T_LOG_CANIBALIZACION_MOVIMIENTO_CAB ListarPorIdCab(int intIdCab)
        {
            clsT_Log_Canibalizacion_Movimiento_CabLogic canibalizacionMovimientoCab = new clsT_Log_Canibalizacion_Movimiento_CabLogic();
            return canibalizacionMovimientoCab.ListarPorIdCab(intIdCab);        
        }


        public List<T_LOG_CANIBALIZACION_MOV_DET_EN> ListaPorIdMovCab(int intidMovCab)
        {
            clsT_Log_Canibilizacion_Mov_DetLogic canibalizacionMovDet = new clsT_Log_Canibilizacion_Mov_DetLogic();
           return canibalizacionMovDet.ListaPorIdMovCab(intidMovCab);
        }


        public bool eliminaT_LOG_CANIBALIZACION_MOV_DET(int intIdLogCanbMovCab)
        {
            clsT_Log_Canibilizacion_Mov_DetLogic canibalizaciondet = new clsT_Log_Canibilizacion_Mov_DetLogic();
           return canibalizaciondet.eliminaT_LOG_CANIBALIZACION_MOV_DET(intIdLogCanbMovCab);
        
        }

        public List<T_LOG_CANIBALIZACION_CAB_EN> ListarCanibalizacionPorIdCab(int intIdCab)
        {
            clsT_Log_Canibalizacion_CabLogic canibalizacionCab = new clsT_Log_Canibalizacion_CabLogic();
            return canibalizacionCab.ListarPorIdCab(intIdCab);
        }


        public IEnumerable<Object> ListaEstado()
        {
            clsT_Log_Canibalizacion_CabLogic canibalizacionCab = new clsT_Log_Canibalizacion_CabLogic();
            return canibalizacionCab.ListaEstado();
        
        }

        public IEnumerable<Object> ListaEstadoSolicitado()
        {
            clsT_Log_Canibalizacion_CabLogic canibalizacionCab = new clsT_Log_Canibalizacion_CabLogic();
            return canibalizacionCab.ListaEstadoSolicitado();

        }

        public IEnumerable<Object> listarCorreo()
        {
            clsT_Log_Canibalizacion_CabLogic canibalizacionCab = new clsT_Log_Canibalizacion_CabLogic();
            return canibalizacionCab.listarCorreo();
        
        
        }


        public List<T_LOG_CANIBALIZACION_MOVIMIENTO_CAB_EN> listarPorIdLogCanibalizacionCab(int ID_LOG_CANIBALIZACION_CAB)
        {
            clsT_Log_Canibalizacion_Movimiento_CabLogic tLogCanibalizacionMovimientoCab = new clsT_Log_Canibalizacion_Movimiento_CabLogic();
            return tLogCanibalizacionMovimientoCab.listarPorIdLogCanibalizacionCab(ID_LOG_CANIBALIZACION_CAB);
        
        }

        public List<TD_MATERIAL_EN> ListaMaterialesMovimientoEntrada(int intIdLogCanibalizacionCab, int intIdOrg, int intTotalRegistros)
        {
            clsT_Log_Canibilizacion_Mov_DetLogic tLogCanibalizacionMovDetLogic = new clsT_Log_Canibilizacion_Mov_DetLogic();
            return tLogCanibalizacionMovDetLogic.ListaMaterialesMovimientoEntrada(intIdLogCanibalizacionCab, intIdOrg, intTotalRegistros);
        }

        public int Total_Saldo(int IdLogCanibalizacionCab)
        {
            clsT_Log_Canibalizacion_Movimiento_CabLogic t_log_canibalizacion = new clsT_Log_Canibalizacion_Movimiento_CabLogic();
           return t_log_canibalizacion.Total_Saldo(IdLogCanibalizacionCab);
        
        }


        public Nullable<DateTime> fecha_canibalizacion(int IdLogCanibalizacionCab)
        {
            clsT_Log_Canibalizacion_Movimiento_CabLogic t_log_canibalizacion = new clsT_Log_Canibalizacion_Movimiento_CabLogic();
            return t_log_canibalizacion.fecha_canibalizacion(IdLogCanibalizacionCab);
        
        }

        public Nullable<DateTime> fecha_armado(int IdLogCanibalizacionCab)
        {
            clsT_Log_Canibalizacion_Movimiento_CabLogic t_log_canibalizacion = new clsT_Log_Canibalizacion_Movimiento_CabLogic();
            return t_log_canibalizacion.fecha_armado(IdLogCanibalizacionCab);        
        }

        public int ActualizarFechaCanibalizacion(int intIdLogCanibalizacionCab, DateTime? fecha_canibalizacion)
        {

            clsT_Log_Canibalizacion_CabLogic t_log_canibalizacion = new clsT_Log_Canibalizacion_CabLogic();
            return t_log_canibalizacion.ActualizarFechaCanibalizacion(intIdLogCanibalizacionCab, fecha_canibalizacion);

        }

        public int ActualizarFechaArmado(int intIdLogCanibalizacionCab, DateTime? fecha_armado)
        {
            clsT_Log_Canibalizacion_CabLogic t_log_canibalizacion = new clsT_Log_Canibalizacion_CabLogic();
            return t_log_canibalizacion.ActualizarFechaArmado(intIdLogCanibalizacionCab, fecha_armado);

        }

        public IEnumerable<Object> ListaTecnico()
        {
            clsT_Log_Canibalizacion_Movimiento_CabLogic t_log_canibalizacion = new clsT_Log_Canibalizacion_Movimiento_CabLogic();
            return t_log_canibalizacion.ListaTecnico();

        
        }
    }
}
